Digital Rights Management Using a Digital Agent

ABSTRACT

A method for digital rights management includes a digital agent for contacting a media host. Media content is compared to a user profile and an identification confidence level is assigned to the media based on the comparison. A digital agent contacts a host of the media based on the identification confidence level, the type of media, and the context of the media. The digital agent requests one or more actions of a media host based on user designations concerning information related to the media. The identification confidence level is generated based on a plurality of user characteristic confidence levels which are generated based on media being analyzed.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to image analysis, personrecognition, and ownership identification, and more particularly todigital rights management using a digital agent.

BACKGROUND

The Internet allows anyone to publish media such as images and documentssoon after generation or creation. Media such as images may be postedwithout identification of the people depicted in the images. Inaddition, media posted online may be copied by others and used withoutattributing the media to the author of the media. Further, mediadepicting a particular person may be posted by another in a maliciousmanner. Media may also be plagiarized or altered. Users who want to makesure that any images depicting them are used in a non-malicious manneror properly identify the user must spend a significant amount of timesearching networks (such as the internet) to find these images.Similarly, a user who wants to determine if their work has beenplagiarized must spend a significant amount of time searching networks.After an image is found or plagiarism of a user's work has beendetermined, the user must contact the host of the media in order torequest certain corrective actions be taken. This combination ofsearching and requesting correction adds to an even greater amount oftime required by a user.

SUMMARY

The present disclosure provides a method and apparatus for digitalrights management using a digital agent.

In one embodiment, a method for digital rights management includescomparing media content to a user profile. An identification confidencelevel is assigned to the media based on the comparing. A host of themedia is contacted based on the identification confidence level. Thecomparing media content to a user profile, in one embodiment, comprisescomparing the media content to a plurality of user characteristics,determining a characteristic confidence level for each of the pluralityof characteristics, and assigning an identification confidence levelbased on the characteristic confidence levels. A user profile isgenerated based on received seed media describing a user wherein aplurality of user characteristics are generated based on the seed media.A host providing media may be contacted based on media type and/or mediacontent. A host can be contacted via email which can contain one of arequest to license the media, a request to identify a user depicted inthe media, and a request to remove the media from display.

These and other advantages of the inventive concept will be apparent tothose of ordinary skill in the art by reference to the followingdetailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a system for managing digital rights using a digitalagent;

FIG. 2 depicts a flow chart for identifying media related to a user andcontacting a host providing the media;

FIG. 3 depicts a flow chart for generating a user profile based on seedmedia;

FIG. 4 depicts a table storing user profiles;

FIG. 5 depicts a flow chart for determining an identification confidencelevel based on a plurality of characteristics;

FIG. 6 depicts a table storing media and related information;

FIG. 7 depicts a table storing licensing information related to media;and

FIG. 8 depicts a high-level block diagram of computer which can be usedfor implementing a media server, digital agent, and user devices.

DETAILED DESCRIPTION

FIG. 1 depicts a system for personal digital rights management using adigital agent. Media server 102 is a computing device for receiving,analyzing, identifying, categorizing, and transmitting media. Mediaserver 102, in one embodiment, is a computer. Media server 102 isconnected to network 104 which can be a wireline or wireless network,local area network or wide area network (e.g., the internet) orcombination of such networks. User device 106 is in communication withmedia server 102 via network 104. User device 106 is, in one embodiment,a handheld computing device such as a smart phone. In other embodiments,user device 106 can be other computing devices such as a desktopcomputer, laptop computer, cell phone, personal digital assistant, etc.Additional user devices 108, 110 are also in communication with mediaserver 102 as well as with each other and user device 106 via network104.

Media server 102 is in communication with media database 112 whichstores various media such as images, videos, documents, audio,web/digital contents (e.g., RSS feeds, blogs, emails), etc.

Media server 102 is also in communication with user profile database 114which stores information related to a user's profile which is derived asdescribed below. Media server 102 is also in communication with licensedatabase 116 which stores information related to licensing and relatedagreements pertaining to a user's media.

The system of FIG. 1 operates to aid a user in digital rights managementusing a digital agent. Before the digital agent searches for media on anetwork, a user profile is generated. The user profile stores usercharacteristics such as facial dimensions for use with facialrecognition, body dimensions, a voice profile for use with voicerecognition, the user's location at different times, etc. The usercharacteristics are used to identify the user depicted in media foundwhile searching a network. Seed media is used to initialize the userprofile. Seed media is media provided by a user that is known todescribe the user. For example, seed media provided by a user caninclude one or more images or videos of the user. After the user profileis generated, the digital agent scours networks to find media whichdepicts the user by comparing characteristics of media found on thenetworks to characteristics stored in the user profile.

Since exact identification of a user in media, such as an image, is notalways possible, an identification confidence level is assigned to mediadetermined to possibly depict the user. This identification confidencelevel is based on one or more characteristic confidence levels each ofwhich indicate how closely user characteristics depicted in media foundon a network match user characteristics stored in the user profile. Forexample, a user's face depicted in an image may be identified as a matchwith a certain characteristic confidence level. A user's locationdepicted in an image may be identified as a match with anothercharacteristic confidence level. The two characteristic confidencelevels are used to determine the identification confidence level. Thedigital agent may contact a host providing media related to a particularuser based on user defined criteria such as the type of media providedby the host and the identification confidence level associated with themedia. For example, the digital agent may email the host and requestthat the host accept the terms of a licensing agreement in order tocontinue providing the media. It should be noted that although media isdescribed above as including images and video, media can also includeaudio, text, digital renderings, etc. In general, any type of media thata user wants to protect or enforce their rights over can be analyzed.Further, it should be noted that although a user profile is initiallygenerated using seed media, media subsequently analyzed can be used toupdate and/or modify a user profile.

Media server 102 is configured to operate digital agent 118. Digitalagent 118 scans network 104 for media and determines media that may berelated to a particular user. Digital agent 118 is an emissary of a userand acts on the user's behalf, in this example, managing the digitalsecurity and rights of the user. Media server 102, in one embodiment, isconfigured to contact entities hosting media that is related to aparticular user.

FIG. 2 depicts method 200 for managing digital rights using a digitalagent. At step 202 media is acquired for analysis. In one embodiment,media server 102 acquires media from network 104. The acquired media canbe any type of media such as an image, video, document, etc. At step 204the content of the acquired media is compared to a user profile. Forexample, an image acquired from network 104 can be compared to a userprofile stored in user profile database 114 which includes datapertaining to identification of a user, such as data required to performfacial recognition of a user. An identification confidence level isassigned to the acquired media, in one embodiment, based on thecomparison of the content of the acquired media to the user profile. Theconfidence level indicates the level of accuracy of the identificationand, in one embodiment, can be a value from 0 to 100 with a higher valueindicating a higher level of confidence. For example, if the acquiredmedia is an image, a user may be identified in the image with a certainlevel of confidence depending on facial recognition and other factors(discussed in detail below).

At step 208, a host of the acquired media is contacted based on theidentification confidence level. For example, a user may configuredigital agent 118 to contact hosts providing media if the media isdetermined to depict a user with an identification confidence level of aspecific value or greater (e.g., if identification confidence level is85 or greater, then host is contacted.) The substance of the contactwith the host depends on user defined factors such as the identificationof media related to the user, the type of media, the identificationconfidence level, and the context of the media. For example, an image ofa user assigned an identification confidence level of 85 and depicts theuser at a charity event but the user's name is not indicated. Based onthese factors, digital agent 118 can automatically contact the entityhosting the image and request that the user's name be indicated with theimage. Digital agent 118 can contact the entity hosting the image viaany form of communication available to reach the hosting entity (e.g.,via email, voice, voicemail, instant messaging, etc.). In oneembodiment, an intermediating agent (e.g., a request broker) cantranslate and reformat requests to be sent to a host as needed. Inaddition, the intermediating agent can perform other functions such aslocating the ultimate responsible hosting or transmitting party whenoffending media is initially found on a non-responsible site such as apublic bulletin board or leveraging a standing relationship with a hostthat allows for faster resolution than through a direct owner request.

At step 210, agreement data is received from the host. For example, thehost may indicate that a web page may be altered to display the user'sname in a caption of the image depicting the user. At step 212, theagreement data from the host is stored, for example, in a database suchas license database 116.

Before searching for media related to a particular user is performed, auser's profile is determined. A user's profile is determined using mediawhich is known to describe the user and/or the user's work (referred toas seed media). For example, a particular user can provide one or moreimages and videos which depict the user (i.e., seed media). The seedmedia provided can be analyzed to determine characteristics whichidentify the user and media associated with the user (e.g., documentswritten by the user, etc.)

FIG. 3 depicts method 300 for generating a user profile based on seedmedia. At step 302, seed media describing a user is received. Seedmedia, in one embodiment, is media which depicts a particular user. Forexample, media such as images and videos which depict the user can beused as seed media. Generally, seed media unambiguously depicts a userso that an accurate user profile can be generated. For example, imagesused as seed media should provide clear depictions of a user frommultiple perspectives. Videos used as seed media should provide variousexamples of a user's gait, gestures, etc. Audio used as seed mediashould provide various user voice samples sufficient to generate areliable voice profile of a user. In one embodiment, a user supplies theseed media to generate a user profile for the user, however, a personother than the user may provide the seed media as well to generate auser profile as well.

At step 304, a plurality of user characteristics are generated based onthe seed media. User characteristics, in one embodiment, are elementswhich can be used to identify a user. For example, a voice profile for auser can be generated based on audio seed media. Data for use withfacial recognition can be generated based on image seed media. Patternsconcerning a user's gait, gestures, and body shape can be generated foruse in detecting user characteristics.

At step 306, a determination is made as to whether there is additionalseed media describing a user. If there is additional media, the methodrepeats steps 302 and 304 for the additional media. If there is noadditional media, a user profile is generated based on the mediadescribing the user. The user profile comprises the plurality of usercharacteristics generated based on seed media in step 304.

Depending on the type of seed media, various additional usercharacteristics can be identified. For example, both image and videomedia can be used to generate additional user characteristics such asuser location at specific dates and times, clothing owned or worn by auser, body movements particular to the specific user, facial ticks,people/places users have been associated with, etc. Seed media caninclude a user's first-order characteristics (i.e., a user's immediatecharacteristics such as physical dimensions of the user's face and body)as well as secondary attributes such as a user's relationships withothers. The secondary attributes can help identify a primary subject.For example, it is known that a user and a particular person aregenerally in one another's presence. If an image shows a front view ofthe particular person and the backside of an unidentified person, theunidentified person may be identified as the user based on the knowledgethat the user and the particular person are generally in one another'spresence.

Seed media can also comprise other media such as documents (e.g.,documents authored or contributed to by user), calendar entries (as wellas general future plans), location information, lifestyle data (e.g.,purchases, interests, likes/dislikes), habits, personal preferences,correspondence and communications (including text, voice, video, etc.),predefined events and actions, quirks, values/morals, occupation,employers, etc.

The user profile generated in step 308 can be stored in a database, suchas user profile database 114. FIG. 4 depicts user profile table 400comprising multiple records 402, 404, 406, wherein each record storesuser profile data pertaining to a particular user. Profile ID 408uniquely identifies each user profile. Additional columns store userinformation such as name 410, date of birth 412, height 414, and weight416. Linguistics 418 stores data pertaining to a user's voice for use invoice recognition. Schedule 420 stores information pertaining to auser's schedule which can be used to aid in the identification of a userin media. Similarly, location 422 stores information pertaining to auser's location. Authorship 424 identifies documents authored by a usereither solely or in conjunction with additional authors. It should benoted that in one embodiment entries (also referred to as cells) containdata representing a single value. For example, cells in location 422column may contain a single location, such as Albuquerque, N. Mex. inrecord 404. In other embodiments, cells may contain files or links tofiles containing multiple values over time. For example, location 422cell of record 402 states “JS11071958.loc” which identifies a filecontaining multiple user locations at various times. By using a file,the location of a particular user at specific times can be determinedwhich can aid in identification of a user in media. For example, if animage depicts a user at a specific location at a specific time, a filestored in location 422 can be used to confirm that the user was indeedlocated at the specific location at a specific time as determined by theimage and associated data (e.g., an EXIF file associated with theimage).

As previously described in conjunction with FIG. 2, media content iscompared to a user profile (step 204) and an identification confidencelevel is assigned to the media (step 206). FIG. 5 depicts a flow chartfurther defining steps 204 and 206 of FIG. 2. At step 502, media contentis compared to a plurality of user characteristics. For example, a videodepicting a person can be analyzed using voice recognition to identifythe person in the image. The data for use in identifying the person, inthis case, would be linguistics characteristics such as the data storedin or identified by linguistics 418 column of FIG. 4. Additionalcharacteristics such as height 414, weight 416, and schedule 420 can becompared to the media as well.

At step 504, a characteristic confidence level for each of a pluralityof characteristics is determined. For example, media content comparedwith user characteristics may not result in a perfect match. Dependingon the content of the media, such as the length of a voice sample, acharacteristic confidence level may be less than 100 (i.e., a perfectmatch). In these situations, a characteristic confidence level of lessthan 100 may be determined based on how well the media content matches acorresponding characteristic. A characteristic confidence level isdetermined for each characteristic compared to media content.

At step 506, an identification confidence level is assigned to the mediabased on the characteristic confidence levels. In one embodiment, theidentification confidence level is an average of the all thecharacteristic confidence levels related to the media being analyzed. Inother embodiments, other methods of generating an identificationconfidence level may be used.

At step 508, the media, identification confidence level andcharacteristic confidence levels are stored, for example, in a databasesuch as media database 112 shown in FIG. 1. At step 510, one or moreuser profiles (e.g., user profile records 402, 404, 406 of table 400shown in FIG. 4) are updated based on the media content. Thus, althougha user profile is initially generated using seed media, media that issubsequently analyzed may be used to update and/or modify the userprofile.

FIG. 6 depicts media table 600 storing data related to media, such asseed media (described in conjunction with FIG. 3) or media analyzed asdepicted in FIG. 2. Media and related information are stored in records602, 604, and 606. Each piece of media has a unique identificationnumber stored in media ID 608. Information related to media is stored inadditional columns including media type 610, date created 612, ownership614, content 616, and related media 618, and file location 624 whichindicates where the media is stored. Information concerning the contentof the media is stored in additional columns such as person depicted620. It should be noted that table 600 is exemplary and media tables mayinclude additional columns for storing additional information such aslocation depicted, objects depicted, etc. Identification confidencelevel 622 stores a value of 1-100 which indicates the probability thatan identification, such as the identification of a person, is correct. Aconfidence level of 100 indicates that the identification is absolutelycorrect. Values less than 100 indicate the probability that theidentification is correct. Although not shown in table 600, additionalcolumns for other characteristics and characteristic confidence levelsmay be listed as well.

Returning to FIG. 2, steps 208-212 pertain to digital agent 118contacting a host of media regarding the use of media identified asowned by a particular user. For example, a particular user may designatethat any image of the user found that is being provided by a host shouldindicate the user's name when the image is displayed. The user mayfurther designate that actions should be taken for images having anidentification confidence level of greater than a threshold level (e.g.,85) that are displayed without indicating the user's name. The hostproviding the image of the user may be contacted to indicate the user'sdesire to have the user's name displayed with the image. Contact withthe host may be made via email, telephone, or other type ofcorrespondence. Communications from the host concerning an agreement arestored, for example, in a database such as licensing database 116 shownin FIG. 1. In one embodiment, a workflow system automatically managesowner-host communications. Automated actions and closure of openrequests, in one embodiment, are enhanced by establishing deterministicend-to-end automation and uniform data protocols. For example, an ownerrequest can be in a specific format which elicits a response from a hostin a specific format wherein the format is known and used by bothparties.

In one embodiment, a default action is taken based on how the mediaprovided by a host can be used or shared and whether the media isdetermined to have a confidence level of greater than a threshold value.For example, if the confidence level is at 85% or more for the media andthe host is sharing the media in a way that only allows others (thosebesides the host) to access (e.g., view or listen) then the digitalagent would automatically grant permission to the host to share in thiscase—assuming the image is displayed with the user name or other agreedupon information (e.g., age, height, weight, etc.). If the digital agentdetermines that the host allows others to do more than access (e.g.,view or listen) the media (e.g., download and/or modify) then thedigital agent can be configured to contact the user to receiveadditional details concerning how to proceed. In one embodiment, thedigital agent can send a host additional documents or messages informingthe host of potential action that may be taken by an owner of the mediaprovided by the host.

FIG. 7 depicts licensing table 700 which contains licensing records 702,704, and 706 which each store licensing information pertaining to media.Each piece of media is identified by media ID 708 which, in oneembodiment, is the same value used in media ID 608 of FIG. 6.Information concerning the media is contained in media type 710 and datecreated 712. Ownership 714 identifies the owner(s) of the related media.Information concerning licensing are stored in licensed to 716, datelicensed 718, and license term 720. The location of documentsmemorializing the agreement are identified by agreement storage location722.

It should be noted that the system and methods described above can beused by a particular user to search for media related to other users.For example, a user can provide seed media identifying a celebrity. Thisseed media can then be used to generate a user profile of the celebritywhich can then be used to search for media related to the celebrity.Although the user can search for media related to the celebrity, theuser, in one embodiment, is restricted from employing digital agent 118to obtain license agreements or instructing hosts how to present mediawithout the consent of the user identified by the user profile.

Media server 102, digital agent 118, and user devices 106-110 may beimplemented using a computer. A high-level block diagram of such acomputer is illustrated in FIG. 8. Computer 802 contains a processor 804which controls the overall operation of the computer 802 by executingcomputer program instructions which define such operation. The computerprogram instructions may be stored in a storage device 812, or othercomputer readable medium (e.g., magnetic disk, CD ROM, etc.), and loadedinto memory 810 when execution of the computer program instructions isdesired. Thus, the method steps of FIGS. 2, 3, and 5 can be defined bythe computer program instructions stored in the memory 810 and/orstorage 812 and controlled by the processor 804 executing the computerprogram instructions. For example, the computer program instructions canbe implemented as computer executable code programmed by one skilled inthe art to perform an algorithm defined by the method steps of FIGS. 2,3, and 5. Accordingly, by executing the computer program instructions,the processor 804 executes an algorithm defined by the method steps ofFIGS. 2, 3, and 5. The computer 802 also includes one or more networkinterfaces 806 for communicating with other devices via a network. Thecomputer 802 also includes input/output devices 808 that enable userinteraction with the computer 802 (e.g., display, keyboard, mouse,speakers, buttons, etc.) One skilled in the art will recognize that animplementation of an actual computer could contain other components aswell, and that FIG. 8 is a high level representation of some of thecomponents of such a computer for illustrative purposes.

The foregoing Detailed Description is to be understood as being in everyrespect illustrative and exemplary, but not restrictive, and the scopeof the inventive concept disclosed herein is not to be determined fromthe Detailed Description, but rather from the claims as interpretedaccording to the full breadth permitted by the patent laws. It is to beunderstood that the embodiments shown and described herein are onlyillustrative of the principles of the inventive concept and that variousmodifications may be implemented by those skilled in the art withoutdeparting from the scope and spirit of the inventive concept. Thoseskilled in the art could implement various other feature combinationswithout departing from the scope and spirit of the inventive concept.

1. A method for digital rights management comprising: comparing mediacontent received from a first host to a user profile; assigning anidentification confidence level to the media content based on thecomparing; determining a responsible host different from the first host;and contacting, by a digital agent, the responsible host based on theidentification confidence level.
 2. The method of claim 1 wherein thecomparing media content received from a first host to a user profilecomprises: comparing the media content to a plurality of usercharacteristics; and determining a characteristic confidence level foreach of the plurality of user characteristics, wherein the assigning anidentification confidence level is based on determined characteristicconfidence levels.
 3. The method of claim 1 further comprisinggenerating the user profile.
 4. The method of claim 3 wherein thegenerating the user profile comprises: receiving seed media describing auser; and generating the plurality of user characteristics based on theseed media.
 5. The method of claim 1 wherein the contacting, by adigital agent, the responsible host is further based on a media type. 6.The method of claim 1 wherein the contacting, by a digital agent, theresponsible host is further based on content of the media.
 7. The methodof claim 1 wherein the contacting, by a digital agent, the responsiblehost comprises transmitting a request to the responsible host to licensethe media content.
 8. An apparatus for digital rights managementcomprising: a processor; and a memory to store computer programinstructions, the computer program instructions when executed on aprocessor cause the processor to perform operations comprising:comparing media content received from a first host to a user profile;assigning an identification confidence level to the media content basedon the comparing; determining a responsible host different from thefirst host; and contacting, by a digital agent, the responsible hostbased on the identification confidence level.
 9. The apparatus of claim8 wherein the comparing media content received from a first host to auser profile comprises: comparing the media content to a plurality ofuser characteristics; and determining a characteristic confidence levelfor each of the plurality of user characteristics, wherein the assigningan identification confidence level is based on determined characteristicconfidence levels.
 10. The apparatus of claim 8, the operations furthercomprising generating the user profile.
 11. The apparatus of claim 10wherein the generating the user profile comprises: for receiving seedmedia describing a user; and generating the plurality of usercharacteristics based on the seed media.
 12. The apparatus of claim 8wherein the contacting, by a digital agent, the responsible host isfurther based on a media type.
 13. The apparatus of claim 8 wherein thecontacting, by a digital agent, the responsible host is further based oncontent of the media.
 14. The apparatus of claim 8 wherein thecontacting, by a digital agent, the responsible host comprisestransmitting a request to the responsible host to license the mediacontent.
 15. A computer readable storage medium storing computer programinstructions for digital rights management, which, when executed on aprocessor, cause the processor to perform operations comprising:comparing media content received from a first host to a user profile;assigning an identification confidence level to the media content basedon the comparing; determining a responsible host different from thefirst host; and contacting, by a digital agent, the responsible hostbased on the identification confidence level.
 16. The computer readablestorage medium of claim 15 wherein the comparing media content receivedfrom a first host to a user profile comprises: comparing the mediacontent to a plurality of user characteristics; and determining acharacteristic confidence level for each of the plurality of usercharacteristics, wherein the assigning an identification confidencelevel is based on determined characteristic confidence levels.
 17. Thecomputer readable storage medium of claim 15, operations furthercomprising generating the user profile.
 18. The computer readablestorage medium of claim 17 wherein the generating the user profilecomprises: receiving seed media describing a user; and generating theplurality of user characteristics based on the seed media.
 19. Thecomputer readable storage medium of claim 15 wherein the contacting, bya digital agent, the responsible host is further based on a media type.20. The computer readable storage medium of claim 15 wherein thecontacting, by a digital agent, the responsible host comprisestransmitting a request to the responsible host to license the mediacontent.